Platform Explorer / Nuxeo Platform 2023.9

Component org.nuxeo.salesforce.jwt.JWTExchangeComponent

Documentation

A service to store public and private RSA keys in a directory

Resolution Order

841
The resolution order represents the order in which this component has been resolved by the Nuxeo Runtime framework.
You can influence this order by adding "require" tags in your component declaration, to make sure it is resolved after another component.

Start Order

930
The start order represents the order in which this component has been started by the Nuxeo Runtime framework.
This number is interesting to tweak if your Java component interacts with other components, and needs to be started before or after another one.
It can be changed by implementing the method "Component#getApplicationStartedOrder()" on your Java component: components are sorted according to this reference value, in increasing order.
The default value is 1000, and the repository initialization uses number 100. Negative values can also be used.

Implementation

Class: org.nuxeo.salesforce.jwt.JWTExchangeComponent

Services

Extension Points

Contributions

XML Source

<?xml version="1.0"?>
<component name="org.nuxeo.salesforce.jwt.JWTExchangeComponent">

  <documentation>
  A service to store public and private RSA keys in a directory 
  </documentation>

  <implementation class="org.nuxeo.salesforce.jwt.JWTExchangeComponent"/>

  <service>
	  <provide interface="org.nuxeo.salesforce.jwt.JWTUserResolver" />  
	  <provide interface="org.nuxeo.salesforce.jwt.keystore.JWTKeyStore" />	  
  </service>

  <extension-point name="subject-mapping">
    <documentation>
    Customize the way JWT subjects are mapped to Nuxeo users. 
    A different mapping can be defined for each issuer.
    </documentation>
    <object class="org.nuxeo.salesforce.jwt.SubjectMappingDescriptor"/>
  </extension-point>
<!-- 
  Example: 
  <extension target="org.nuxeo.salesforce.jwt.JWTExchangeComponent" point="subject-mapping">
    <subject-mapping issuer="sfdc" default="test" />
  </extension>
-->

  <extension target="org.nuxeo.ecm.core.schema.TypeService" point="schema">
    <schema name="jwt_keystore" src="schema/jwt_keystore.xsd"/>
  </extension>

  <extension target="org.nuxeo.ecm.directory.GenericDirectory" point="directories">
    <directory name="jwt_keystore" extends="template-directory">
      <schema>jwt_keystore</schema>
      <idField>id</idField>
      <autoincrementIdField>true</autoincrementIdField>
      <types>
        <type>system</type>
      </types>
      <permissions>
        <permission name="Read">
          <group>__Nobody__</group>
        </permission>
      </permissions>
    </directory>
  </extension>

  <extension target="org.nuxeo.ecm.core.io.MarshallerRegistry" point="marshallers">
    <register class="org.nuxeo.salesforce.jwt.keystore.JWTKeyWriter" enable="true" />
    <register class="org.nuxeo.salesforce.jwt.keystore.JWTKeyListWriter" enable="true" />
  </extension>

</component>